﻿namespace AsmShaderConverter.AsmShader
{
    public struct ExportRegisterNames
    {
        /// <summary>
        /// Register name
        /// </summary>
        public string registerName;

        /// <summary>
        /// Offset which row in matrices are used.
        /// eg: Registername = C36
        /// Register: C36 1.0f, 0.0f, 0.0f, 0.0f Offset 0
        /// Register: C37 0.0f, 1.0f, 0.0f, 0.0f Offset 1
        /// Register: C38 0.0f, 0.0f, 1.0f, 0.0f Offset 2
        /// Register: C39 0.0f, 0.0f, 0.0f, 1.0f Offset 3
        /// </summary>
        public int offset;

        public string ExportName;

        /// <summary>
        /// Number of rows.
        /// </summary>
        public int Length;

        public string typeName;

        public override string ToString()
        {
            return string.Format("{0} {1} o:{2} l:{3} {4}", this.registerName, this.ExportName, this.offset, this.Length, this.typeName);
        }
    }
}